﻿<?xml version="1.0" encoding="utf-8"?>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="6" MadCap:lastHeight="1096" MadCap:lastWidth="698">
    <head>
    </head>
    <body>
        <h1>Windows Registry Use</h1>
        <p class="Tip">Windows Registry entries are only necessary as a convenience for the purposes of allowing applications to find MxPlugins on your PC and use MxUtils for logging. Whilst it would be possible for you to develop applications and MxPlugins that use a flat file instead of the Windows Registry, this would break compatibility with MxPlugins developed by third parties whose installation programs might not be aware of your flat file.</p>
        <h2>Installation</h2>
        <p>Running MxPlugin&#160;MSI&#160;(or first run of MxPluginManager) creates the following Windows Registry entries on your PC. They all share the common root:</p>
        <p>  <b>HKEY_CURRENT_USER\Software\Maximodex\MxPluginManagerGUI</b></p>
        <table style="width: 100%;">
            <col style="width: 33%;" />
            <col style="width: 33%;" />
            <col style="width: 33%;" />
            <tbody>
                <tr>
                    <td style="font-weight: bold;">Sub Key</td>
                    <td style="font-weight: bold;">Default Value</td>
                    <td style="font-weight: bold;">Description</td>
                </tr>
                <tr>
                    <td>Rootfolder</td>
                    <td>C:\Program Files (x86)\Maximodex\Common\Bin\</td>
                    <td>Root folder for installing MxPlugins. Value set by MxPluginManagerGUI - plugin root folder</td>
                </tr>
                <tr>
                    <td>AppCnt</td>
                    <td>1</td>
                    <td>Number of applications installed that use their own MxUtil logging settings</td>
                </tr>
                <tr>
                    <td>General\ETWLogPathFilename</td>
                    <td>C:\PerfLogs\Admin\MxUtilsTrace_000001.etl</td>
                    <td>Value set by MxPluginManagerGUI Options - log file </td>
                </tr>
                <tr>
                    <td>
                        <p>General\OutputDebugStrViewerApp</p>
                    </td>
                    <td>C:\Program Files (x86)\DebugView\Dbgview.exe</td>
                    <td>Value set by MxPluginManagerGUI Options - viewer app </td>
                </tr>
                <tr>
                    <td>General\TraceName</td>
                    <td>MxUtilsTrace</td>
                    <td>Value set by MxPluginManagerGUI Options - trace name </td>
                </tr>
                <tr>
                    <td>Apps</td>
                    <td>&#160;</td>
                    <td>Root for application settings</td>
                </tr>
                <tr>
                    <td>Apps\App0\LogChannel</td>
                    <td>0</td>
                    <td>
                        <p>0 = development (OutputDebugString)</p>
                        <p>1 = Production (Event Tracing for Windows - ETW)</p>
                        <p>see MxError1.h - MxError::LogChannel for values</p>
                    </td>
                </tr>
                <tr>
                    <td>Apps\App0\LogLevel</td>
                    <td>0</td>
                    <td>
                        <p>2 = verbose (all warnings and errors reported)</p>
                        <p>1 = Analysis (all errors reported)</p>
                        <p>0 = Quiet (only significant errors reported)</p>
                        <p>see MxError1.h - MxError::Level for values</p>
                    </td>
                </tr>
                <tr>
                    <td>Apps\App0\Name</td>
                    <td>MxPluginManagerGUI</td>
                    <td>Name of application given in MxProductID.h - ie. ProdIdMxPluginManagerGUI::Name</td>
                </tr>
                <tr>
                    <td>Apps\App0\ProdID</td>
                    <td>{949DCE6F-FD95-4D61-87B1-3D29255013E9}</td>
                    <td>ID of application given in MxProductID.h - ie. ProdIdMxPluginManagerGUI::ProdID</td>
                </tr>
                <tr>
                    <td>Apps\App0\SID</td>
                    <td>{02742858-2CC8-4C92-BE69-5CC7BA387A7B}</td>
                    <td>Socket ID&#160;given in MxProductID.h. MxPlugins are developed to support general applications (SID_Universal) or specific applications such as SID_ImageCurator. This value says whether the application targets specific MxPlugins</td>
                </tr>
            </tbody>
        </table>
        <p>MxPluginManager is installed by MxPlugin MSI as App0. Other applications can use the same logging settings by referring to App0 values.</p>
        <h2>Removal</h2>
        <p> Your application's (YourApp) setup program - remove, has responsibility for deleting HKEY_LOCAL_MACHINE\SOFTWARE\Maximodex\Common\App6 (or whatever was set above), but AppLogging\AppList\AppCnt is left unchanged - see MxPluginManager::UnRegApp()</p>
    </body>
</html>